﻿using Microsoft.EntityFrameworkCore.Metadata.Internal;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using S.Common.Enums.Organization;

namespace S.Authorization.Domain.Model.Organization
{
    /// <summary>
    /// 羊场
    /// </summary>
    [Table("SheepFarmsModel")]
    public class SheepFarmsModel
    {
        [Key]
        ///主键
        public int SheepFarmsId { get; set; }
        /// <summary>
        /// 羊场编码
        /// </summary>
        public string? SheepFarmSnowFlake { get; set; }
        /// <summary>
        /// 羊场全称
        /// </summary>
        [Column(TypeName = "nvarchar(100)")]
        [MaxLength(100)]
        public string? SheepFarmsFullName { get; set; }
        /// <summary>
        /// 羊场简称
        /// </summary>

        [Column(TypeName = "nvarchar(50)")]
        [MaxLength(50)]
        public string? SheepFarmsName { get; set; }

        /// <summary>
        /// 羊场规模（下拉框）
        /// </summary>
        public SheepFarmSize SheepFarmsScale { get; set; }

        /// <summary>
        /// 建账日期
        /// </summary>
        public DateTime DateOfEstablishment { get; set; }

        /// <summary>
        /// 负责人
        /// </summary>
        [Column(TypeName = "nvarchar(50)")]
        [MaxLength(50)]
        public string? Responsible { get; set; }

        /// <summary>
        /// 详细地址
        /// </summary>
        [Column(TypeName = "nvarchar(200)")]
        [MaxLength(200)]
        public string? FullAddress { get; set; }

        /// <summary>
        /// 状态(是否启用)
        /// </summary>
        public bool Sate { get; set; }

        /// <summary>
        /// 创建人
        /// </summary>
        [Column(TypeName = "nvarchar(50)")]
        [MaxLength(50)]
        public string? CreateBy { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 修改人
        /// </summary>
        [Column(TypeName = "nvarchar(50)")]
        [MaxLength(50)]
        public string? UpdateBy { get; set; }

        /// <summary>
        /// 修改时间
        /// </summary>
        public DateTime? UpdateTime { get; set; }

        /// <summary>
        /// 是否删除
        /// </summary>
        public bool IsDel { get; set; } = false;

        /// <summary>
        /// 管理部门id
        /// </summary>
        public int DepartMentId { get; set; }

        /// <summary>
        /// 管理部门名称
        /// </summary>
        [Column(TypeName = "nvarchar(50)")]
        [MaxLength(50)]
        public string? IndustryTitle { get; set; }
        /// <summary>
        /// 省
        /// </summary>
        public int Province { get; set; }
        /// <summary>
        /// 市
        /// </summary>
        public int City { get;  set; }
        /// <summary>
        /// 区
        /// </summary>
        public int Area { get; set; }
    }
}
